home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power Tools 1993 October - Disc 1
/
Power Tools (Disc 1)(October 1993)(HP).iso
/
spec
/
a3821171
/
a3821171.txt
< prev
next >
Wrap
Text File
|
1992-05-16
|
14KB
|
324 lines
4
Network Computing System 1.5.1 (NCS) Technical Data
Product Numbers B1020A, B1022A, B2674A, LA400BAD and LA400BBD
The Network Computing System (NCS) is a set of distributed computing
products that provides true intervendor computing in heterogeneous
environments. NCS makes it easy to develop and run applications that use
computing resources throughout a network. Individual program modules
within an application can be distributed to
[Figure 1 (Network Computing System 1.5.1) Caption: none]
computers best suited for the task. Modules that can run in parallel are
easily distributed to multiple computers at once, creating, in effect, a
network supercomputer. The result is higher performance for workstation
users and better utilization of computing resources throughout the
network.
NCS was accepted by the Open Software Foundation (OSF) as their
remote procedure call (RPC) mechanism. NCS will be incorporated into the
Distributed Computing Environment (DCE) and will be shipped as the
DCE/RPC.
The NCS product comprises two major pieces: the Network Computing
Kernel (NCK), which provides run-time support, and the Network Interface
Definition Language (NIDL) compiler, which is a tool for application
developers.
NCS is a truly open system written in portable C code, fully
documented, and based on industry-standard protocols. To ensure network
independence, NCS uses the low-level datagram services available on most
networking protocols, including UDP/IP and the Apollo DDS (Domain
Distributed Services).
With NCS, corporations will be able to use their many different CPUs
much more efficiently.
[Figure 2 (NCS Compiler) Caption: none]
End users will be able to take advantage of high-powered specialty
servers, and applications developers will be able to write distributed
programs that fully exploit the network's resources.
Features and Benefits
Open system: NCS is an open extensible system, designed to run on
multiple CPUs, operating systems, and networks. Documentation for the
underlying Network Computing Architecture is available to the public.
High-level interface language: NCS lets programmers specify remote
computing requirements in a high-level Network Interface Definition
Language (NIDL), which supports C-style syntax.
Interface software generated automatically: A compiler converts NIDL
interface descriptions into C-source code (as well as C-include files),
which can be compiled on any system.
Network Resources cataloged dynamically: System software automatically
finds the computers required to run particular features.
5
Integrated remote procedure call: This facility lets programs running
locally call procedures implemented on remote hosts. The RPC facility is
independent of network protocol.
Automatic data conversion: Data representations, such as byte order or
floating point representations, are converted automatically when
required. Similar systems need not convert to and from an intermediate
data representation.
Integrated error checking: NCS provides integrated error checking and
does not rely on the usually slow higher levels of network protocols.
Reliable network computing can be provided over any type of transport.
Low overhead: The run-time system minimizes the number of messages per
RPC call, providing high throughput.
Simplifies use of specialized processors: NCS products are designed to
use the low-level hardware interfaces common to most specialized
processors.
Simplifies software development: With NCS tools, distributed
applications are developed using structured programming techniques.
Current applications can be easily modified for network computing.
Object oriented: Procedures are handled as operations on objects rather
than calls to particular machines or processes. This makes it easy to
separate what is being done from where it is being done, a crucial
distinction in a networked environment.
Making Remote Procedure Calls Practical
The underlying foundation of NCS is an advanced approach for building
distributed applications, the Network Computing Architecture (NCA). The
purpose of NCA is to serve as a building block for distributed
applications. The NCA Remote Procedure Call (NCA/RPC) facility extends
the procedure call mechanism from a single-machine implementa-tion to a
distributed computing environment. The RPC concept is simple: make
individual procedures in an application run on a computer somewhere else
in the network. In practice though, using RPCs without any special tools
can be more work than many developers are willing to devote to the task.
A set of procedures must be created that looks like the original
procedures. This stand-in is called a stub. Likewise, another stub must
be made for the server, and this one must stand in for the application.
The Network Computing System includes a compiler that generates client
and server stubs automatically, greatly reducing development effort.
Two Components Work Together
The Network Computing System contains two major components that work
together to provide an advanced environment for distributed computing
applications. Network Computing Kernel (NCK), the RPC run-time, handles
packaging, transmission, and reception of data between host and client
procedures. Included with NCK is the Location Broker that determines at
run-time which hosts are running the requested services. It eliminates
the need for location-specific information within applications.
6
Network Interface Definition Language (NIDL) compiler creates
C-language source code for host and client RPC stubs. It shields the
application developer from the details of the target system.
RPC Run-Time Environment
The NCS RPC is designed for vendor and protocol indepen-dence. The
source code for the RPC run-time environment is written in C. It uses
the Berkeley UNIX(r) socket approach for interprocess communications,
but extends the socket abstraction through a user-mode subroutine
library that the RPC run-time accesses. This library allows the system
to compensate for different network protocols and various operating
systems.
Flexible Error Handling
The RPC environment includes sophisticated error-handling capabilities.
It is robust in the face of lost, duplicated, and long-delayed messages
arriving out of order, and in server crashes. The run-time can ensure
that no call is ever executed more than once. Because the error handling
is built into the RPC run-time, that application can call for only as
much error correction as is needed. For example, if a subroutine can be
executed more than once without side effects, the overhead to guard
against this can be eliminated.
Protocol Independence
Great care has been taken to ensure the Network Computing System is
truly independent of network protocols. Since error handling is part of
the RPC run-time, it need not be part of the network protocol used.
Therefore the RPC can be based on any connection, network, or protocol
that provides point-to-point datagram services. As an example, NCS
provides support for the UDP datagram service in the DARPA IP protocol
family as well as support for the Apollo DDS datagram. Support for other
services will be added in the future.
Location Broker Finds Services Automatically
To be truly practical, distributed applications should not have
information about the execution environment hard-coded in the
application itself. For example, if an array processor is added to a
network, applications needing array processing should not need
modification to use the new machine. This task of matching available
services to workstation clients is done through the location broker.
Servers register their capabilities with the location broker, and
clients query the location broker at run-time to determine which hosts
to use for the particular remote procedure calls.
An Object-oriented Approach.
The location broker uses an object-oriented approach to network
computing. RPC calls are treated as operations on objects, not calls to
particular machines or server processes. By approaching the problem from
the standpoint of what to do rather that where to do it, applications
can function in a constantly changing environment.
NIDL Compiler
The Network Interface Definition Language compiler automatically
generates the stub procedures that stand in for the remote procedure on
7
the client side and for the caller's procedure on the server side. The
syntax for these routines is described by the applications programmer in
an interface specification, written in the Network Interface Definition
Language. The interface specification includes information about all the
procedures that can be called remotely and the numbers and types of
their arguments.
[Figure 3 (Network Interface Definition Language) Caption: none]
Since the stub procedures must run on a variety of machines, the NIDL
compiler generates C source code, which is then compiled on the target
machine. Source for the client and the server is generated
automatically, as are the C include files. Stub procedures may interface
with procedures written in C, Pascal, FORTRAN, and many other computer
languages.
The stub procedures generated by the NIDL compiler greatly simplify
use of remote procedure calls. Callers do not need to involve themselves
with the details of data packaging and data representation. Remote
procedures execute just like local ones.
Supports Two Types of Binding: The NIDL compiler supports two types of
binding: explicit binding and implicit binding. Explicit binding means
that the NIDL specification states exactly which host to use, and this
host is always used when the application is run. In implicit binding,
the client establishes the binding as a variable before making any
remote procedure calls. Thus, the application can query the location
broker at run-time and establish the binding between the local and
remote routines.
Portable Software
NCS is available today for HP, Alliant, Convex, Cray, DEC (VMS and
Ultrix), IBM, Multiflow, Prime, Pyramid, Stellar, and Sun Microsystems.
HP intends to continue to promote the architecture as an open, industry
de facto standard.
NCS Version 2 is available for DOMAIN/OS and OSF/1 TR systems.
Configuration and Prerequisites
For HP 9000:
o HP 9000 Series 300,400,600,700,800
- Minimum 8 Megabytes memory
- LAN/9000 Link
- HP-UX Version 8.0 or later
o For Domain:
- Domain workstation
- Domain/OS SR10.1 or later
o Note: NCS/NCK is included with HP-UX Version 8.0 and later.
Ordering Information
B1020A NCS/NIDC 1.5.1 Series 300 and 400
B1020A Options
AAO 1/4-inch tape
OB1 Documentation
AAU CDROM certificate (for software)
8
B1022A NCS/NIDC 1.5.1 Series 600 and 800
B1022A Options
AAO 1/4-inch tape
AA1 1/2-inch tape
AAH DAT tape
OB1 Documentation
AHO -> AH1 license to use
B2674A NCS/NIDC 1.5.1 Series 700
B2674A Options
AAU CDROM certificate
AAH DAT tape
OBJ Documentation
LA400BAD NCS/NIDL 2.0 Domain/OS Motorola
LA400BBD NCS/NIDL 2.0 Domain/OS (Prism)
LA38C00C NCS/NCK 1.5.1 source license
LA40CC0C NCS/NIDL 1.5.1 source license
B2685A NCS 2.0 source license
NCS Procedure Calls
Client Calls
rpc_$bind
- Allocate a handle and create an association between the client and
the object's location.
rpc_$free_handle
- Release the handle and eliminate the client-object association.
lb_$lookup-interface
- Find the network addresses of all the objects that support a
particular interface.
lb_$lookup_object
- Find the network addresses of all the instances of a particular
object.
lb_$lookup-type
- Find the network addresses of all the objects of a particular type.
Server Calls
rpc_$use_family
- Add a network protocol family to the list of protocols used by this
server to accept RPC calls.
rpc_$register
- Register an interface with the RPC run-time library.
rpc_$listen
- Listen for RPC calls from clients.
lb_$register
- Register an object as an interface with the location broker so that
clients in the network can make RPC calls on that interface.
lb_$unregister
- Unregister an object and an interface.
Documentation
9
o Network Computing Architecture P/N D-1201B
o Network Computing System Reference Manual P/N D-10200-C
o Network Computing System Tutorial P/N D-18355-C
o Managing NCS Software P/N 11895-E
UNIX(r) is a registered trademark of UNIX System Laboratories Inc. in
the U.S.A. and other countries.
From HP Networking Communications Specification Guide,
5091-3821E, 9205, p 171
Associated files: la3821g1.plt, la3821g1.gal, la3821g2.plt,
la3821g2.gal, la3821g4.plt, la3821g4.gal, a3821171.doc
Network Computing System 1.5.1 (NCS) Technical Data